iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 23
0
自我挑戰組

學習 Android Kotlin 隨筆系列 第 23

[ Day 23 ] FB 自動回文小編(一)

  • 分享至 

  • xImage
  •  

Fb 聊天機器人

前言

還在請工讀生來當小編自動回文嗎?這麼麻煩的事情當然交給 server 去做啊!這篇將會介紹之前自己玩過的自動回文小編。

自動回文小編

  • 整體的概念

    User ➡️ 在 Fb 粉專動作(按讚、訊息、留言 ... )➡️ 觸發 FB webhook ➡️ webhook 送訊息到 ngrok ➡️ ngrok 送訊息到本地端 server

    1. fb 的網站一有新的資訊進來(按讚、留言、訊息 ... 等等)
    2. 進來之後會到 ngork(這段要在 facebook-for-developer 設定)
    3. ngrok 會把訊息傳到你的本地端 server,你的 server 接到訊息就可以變成程式處理了
  • 大致步驟

    1. 下載 ngrok

    2. git clone demoBot

      git clone git@github.com:Jonec76/demoBot.git
      
    3. 執行本地端( /demoBot )
      這邊是使用 express 這個架構去啟動 server,如果有不太清處的地方建議參考 express 的官方文件唷!
      (不提供 config.json ,歡迎跟我要或者 trace code )

       $ npm install
       $ npm run start
      
    4. 執行 ngrok

       $ ./ngrok http 3000 
      
    • 開啟 ngrok

    1. facebook for developer-Webhook

      • 輸入你的 ngrok網址 以及 驗證權杖,驗證權杖跟你的 config.json 裡的 webhook 是一樣的,這邊的意思就是說是 FB 粉專勾選過的服務,都會往這個回呼網址傳,這個網址現在指在 ngrok 的網址,ngrok 網址指到 localhost(也就是本地端開的 server)
    2. 更改 config.json 的 token

      因為 access token 會過期,所以在每次啟動 server 的時候都要重新取得(或是有其他方法得到永久的 token,但這邊不詳述),而取得新的 token 可以參考下方連結,大致是前往 Graph API,把要的粉專綁到指定的 app,取得粉專的 access token (更改 field) 即可

    如果做到第 5 點時,能夠在 developer 頁面驗證過,而且本地的 server 也有接到,那就表示整個流程已經串成功囉!下一篇將會介紹如果去監聽特定的 FB 貼文!


上一篇
[ Day 22 ] 據說猴子都懂 Git !(三)基本介紹
下一篇
[ Day 24 ] FB 自動回文小編(二)
系列文
學習 Android Kotlin 隨筆30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言